package com.jiazhong.basic.pack0308.ex;

import java.util.InputMismatchException;

// 描述情况
public class DemoA {

    // 情况一：代码可能出现异常，但是没有出现异常，正常执行其后的代码，但是不执行catch方案
    // 情况二：代码可能出现异常，也出现了异常，会去执行catch方案里边的代码，正常执行其后的代码
    private static void a() {
        // num:0 1 2
        int num = (int) (Math.random() * 3);
        System.out.println("随机数是：" + num);
        int result;
        try {
            // 书写的是可能出现异常的代码块
            result = 8 / num;
        } catch (ArithmeticException e) {
            // 这里是出现了数学异常之后的处理方案
            System.out.println("除数不能为0");
            result = 1;
        }
        System.out.println("计算的结果是：" + result);
    }

    // 情况三：代码可能出现异常，也出现了异常，catch方案没有匹配上，异常处理失败，中断代码
    private static void b() {
        // num:0 1 2
        int num = 0;
        System.out.println("随机数是：" + num);
        int result;
        try {
            // 书写的是可能出现异常的代码块
            result = 8 / num; // 数学异常
        } catch (InputMismatchException e) { // 处理方案是输入异常方案
            System.out.println("除数不能为0");
            result = 1;
        }
        System.out.println("计算的结果是：" + result);
    }
    public static void main(String[] args) {
        b();
    }
}
